工業(yè)現(xiàn)場嵌入式控制器軟件的分析和設計
【摘要】:本文分析了 Linux 在嵌入式系統(tǒng)中應用的可能性及優(yōu)勢,并設計了基于嵌入式 Linux 的工業(yè)現(xiàn)場控制器軟件,并實際應用于計算機集散控制系統(tǒng)(DCS)中,滿足了一般甚至核電領域中DCS 系統(tǒng)對現(xiàn)場控制器的要求。
關鍵詞:嵌入式 Linux;DCS;現(xiàn)場控制器
Abstract The possibilities and advantages of application of Linux in embedded systems are first analyzed in this paper, and then an embedded Linux based industrial field control station software is designed and actually applied in the Distributed Control System (DCS), and satisfies the requirements for field control station in DCS of general even nuclear power plant fields.
Keywords: Embedded Linux; DCS; Filed Control Station
1.引言
現(xiàn)場控制器是DCS系統(tǒng)的核心組成部分,擔負著接收并執(zhí)行控制算法、采集現(xiàn)場數(shù)據(jù)并 進行大量數(shù)據(jù)處理等職能,且具有控制周期短,運行穩(wěn)定、可靠等要求。因此,如何選用高 性能的硬件,開發(fā)穩(wěn)定可靠的嵌入式操作系統(tǒng),并設計現(xiàn)場控制器軟件系統(tǒng)成為DCS系統(tǒng)開 發(fā)中的關鍵之一。
本文分析并設計了基于嵌入式Linux的工業(yè)現(xiàn)場控制器的控制軟件系統(tǒng)。
2. Embedded Linux的優(yōu)勢
Embedded Linux 具有如下特點[1]:
第一,Linux 系統(tǒng)內(nèi)核源碼完全開放。因為 Linux 的內(nèi)核源碼是完全開發(fā)的,所以不同 領域和層次的用戶可以免費得到 Linux 內(nèi)核源碼,并根據(jù)自己的應用需要方便的對內(nèi)核進行 修改。這樣可以有效控制成本,并設計和開發(fā)出滿足其需要的嵌入式系統(tǒng)。
第二,強大的網(wǎng)絡功能。Linux 的網(wǎng)絡連接能力緊密的和 Linux 內(nèi)核結合在一起,為用 戶提供了完善而強大的網(wǎng)絡功能。實際上,Linux 就是依靠互聯(lián)網(wǎng)才迅速發(fā)展了起來。Linux 支持所有標準 Internet 協(xié)議,可以輕松地與 TCP/IP、LAN Manager、Windows for Workgroups、 Novell Netware 或 Windows NT 網(wǎng)絡集成在一起??梢栽?Linux 的網(wǎng)絡協(xié)議?;A上開發(fā)出 嵌入式的 TCP/IP 網(wǎng)絡協(xié)議棧,使得嵌入式設備具有強大的網(wǎng)絡功能。
第三,Linux 是 Unix 兼容,完全符合 IEEE POSIX.1 標準。許多運行在 Unix 上的軟件 可以不加修的運行在 Linux 上。因此嵌入式 Linux 具有很多豐富的免費軟件資源可以利用。 第四,Linux 具備完整的開發(fā)工具鏈,嵌入式系統(tǒng)開發(fā)者容易建立嵌入式系統(tǒng)的開發(fā)環(huán) 境和交叉運行環(huán)境,可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的障礙。從編輯階段,編譯階段到調(diào)試階段,可以方便的使用 GNU 提供的 EMACS,GCC,GDB,KGDB 等工具鏈。 第五,Linux 具有廣泛的硬件支持。Linux 能運行在,無論是 RISC 還是 CISC、32 位還是 64 位等各種處理器上。Linux 支持各種主流的硬件設備和最新的硬件技術,可以在沒有MMU 的處理器上運行。所以嵌入式 Linux 有廣泛的應用前景。
3. 工業(yè)控制DCS系統(tǒng)的組成
DCS 是分散控制系統(tǒng)(Distributed Control System)的簡稱,國內(nèi)一般習慣稱為集散控 制系統(tǒng)。它是一個由過程控制級和過程監(jiān)控級組成的以通信網(wǎng)絡為紐帶的多級計算機系統(tǒng), 綜合了計算機(Computer)、通訊(Communication)、顯示(CRT)和控制(Control)等 4C 技術,其基本思想是分散控制、集中操作、分級管理、配置靈活、組態(tài)方便。
DCS 具有以下特點[2]:
(1)高可靠性
由于 DCS 將系統(tǒng)控制功能分散在各臺計算機上實現(xiàn),系統(tǒng)結構采用容錯設計,因此某 一臺計算機出現(xiàn)的故障不會導致系統(tǒng)其它功能的喪失。此外,由于系統(tǒng)中各臺計算機所承擔 的任務比較單一,可以針對需要實現(xiàn)的功能采用具有特定結構和軟件的專用計算機,從而使 系統(tǒng)中每臺計算機的可靠性也得到提高。
(2)開放性
DCS 采用開放式、標準化、模塊化和系列化設計,系統(tǒng)中各臺計算機采用局域網(wǎng)方式 通信,實現(xiàn)信息傳輸,當需要改變或擴充系統(tǒng)功能時,可將新增計算機方便地連入系統(tǒng)通信 網(wǎng)絡或從網(wǎng)絡中卸下,幾乎不影響系統(tǒng)其他計算機的工作。
(3)靈活性 通過組態(tài)軟件根據(jù)不同的流程應用對象進行軟硬件組態(tài),即確定測量與控制信號及相互
間連接關系、從控制算法庫選擇適用的控制規(guī)律以及從圖形庫調(diào)用基本圖形組成所需的各種 監(jiān)控和報警畫面,從而方便地構成所需的控制系統(tǒng)。
(4)易于維護 功能單一的小型或微型專用計算機,具有維護簡單、方便的特點,當某一局部或某個計算機出現(xiàn)故障時,可以在不影響整個系統(tǒng)運行的情況下在線更換,迅速排除故障。
(5)協(xié)調(diào)性 各工作站之間通過通信網(wǎng)絡傳送各種數(shù)據(jù),整個系統(tǒng)信息共享,協(xié)調(diào)工作,以完成控制 系統(tǒng)的總體功能和優(yōu)化處理。
(6)控制功能齊全 控制算法豐富,集連續(xù)控制、順序控制和批處理控制于一體,可實現(xiàn)串級、前饋、解耦、 自適應和預測控制等先進控制,并可方便地加入所需的特殊控制算法。
DCS 的構成方式十分靈活,可由專用的管理計算機站、操作員站、工程師站、記錄站、 現(xiàn)場控制站和數(shù)據(jù)采集站等組成,也可由通用的服務器、工業(yè)控制計算機和可編程控制器構成。
處于底層的過程控制級一般由分散的現(xiàn)場控制站、數(shù)據(jù)采集站等就地實現(xiàn)數(shù)據(jù)采集和控 制,并通過數(shù)據(jù)通信網(wǎng)絡傳送到生產(chǎn)監(jiān)控級計算機。生產(chǎn)監(jiān)控級對來自過程控制級的數(shù)據(jù)進 行集中操作管理,如各種優(yōu)化計算、統(tǒng)計報表、故障診斷、顯示報警等。隨著計算機技術的 發(fā)展,DCS 可以按照需要與更高性能的計算機設備通過網(wǎng)絡連接來實現(xiàn)更高級的集中管理 功能,如計劃調(diào)度、倉儲管理、能源管理等。
4. 嵌入式控制器軟件設計
嵌入式控制器是指在 DCS 的硬件體系結構中的現(xiàn)場控制站,即圖 1 中被紅色橢圓圈中 的部分。在設定的控制周期下,主控制器循環(huán)的執(zhí)行從 I/O 設備采集現(xiàn)場數(shù)據(jù)、控制邏輯運 算、與操作員站進行數(shù)據(jù)交換、故障診斷、冗余等任務。
主控制器向下通過 I/O 插件或者現(xiàn)場總線網(wǎng)絡,連接現(xiàn)場的各種 I/O 設備、執(zhí)行設備等; 向上通過系統(tǒng)網(wǎng)絡與操作員站、工程師站等連接。
DCS 系統(tǒng)的性能、可靠性等重要指標主要體現(xiàn)在主控制器上[3]。因此,設計出高效穩(wěn)定 的現(xiàn)場控制器軟件系統(tǒng),對于設計整個 DCS 系統(tǒng)的關鍵之一。
4.1 控制器硬件及系統(tǒng)平臺嵌入式控制器的硬件平臺為 Intel® XScale IXP425 嵌入式開發(fā)板;操作系統(tǒng)采用嵌入式Linux,版本為 2.6.16。
4.2 控制器軟件結構
控制器軟件設計為運行于嵌入式 Linux 平臺上的單線程應用程序,調(diào)度策略為實時的先 入先出(FIFO)方式,現(xiàn)場運行采用雙機熱備份方式。由于控制器軟件要完成的各種功能 相對獨立,因此本文中將控制器軟件程序設計成多模塊結構。模塊之間的關系如下圖所示。
各模塊分別設計為:
(1)總控模塊??偪啬K指的是對系統(tǒng)整體運行進行監(jiān)控的模塊,它協(xié)調(diào)和調(diào)度其他 模塊的運行,包括系統(tǒng)開始啟動時的初始化、程序結束時所進行的清理以及按照周期性調(diào)度 其它模塊的運行。
(2)時間管理模塊。在控制器軟件中,維護一個與校時無關的時間計數(shù),系統(tǒng)根據(jù)這 個計數(shù)來進行計時和調(diào)度。工作機和備份機之間通過校時使得絕對時間和計數(shù)都能保持一 致。
(3)通訊模塊。此模塊提供控制器軟件的網(wǎng)絡通訊功能,設計為具體網(wǎng)絡協(xié)議對上層 應用即通訊服務模塊透明。同時,通訊模塊應該實現(xiàn)將網(wǎng)絡上的字節(jié)流封裝成具有特定功能 單元的數(shù)據(jù)包,及將具有特定功能單元的數(shù)據(jù)包轉換成網(wǎng)絡字節(jié)流,以供通訊服務模塊使用。
(4)通訊服務模塊。通訊服務模塊和通訊模塊密切相關,是控制器軟件對外提供的服 務接口??刂破鬈浖x了一組標準的通訊服務,外部只要按照規(guī)定的格式向控制器發(fā)送通 訊請求,控制器就會給出應答或結果。通訊服務模塊實質(zhì)上是對通訊模塊所接收到的數(shù)據(jù)的 處理;并將處理結果交給通訊模塊發(fā)送。
(5)冗余模塊。冗余主要是涉及到工作機和備份機之間的通訊,采用網(wǎng)絡方式。主機 需要向從機傳送的數(shù)據(jù)主要包括:下裝文件、運行數(shù)據(jù)、相關通訊服務命令等,另外工作機 和備份機之間的校時也通過冗余模塊完成。
(6)診斷模塊。診斷模塊負責檢測控制器運行狀態(tài),并對出現(xiàn)及可能出現(xiàn)的異常狀態(tài) 進行修正。
(7)錯誤信息處理模塊??刂破鬈浖懈髂K通過此錯誤信息處理模塊將各種錯誤信 息記錄下來,通過通訊服務,記錄的錯誤信息可以被提取出來進行分析,以便于分析、解決 出現(xiàn)的問題。
(8)狀態(tài)顯示模塊。狀態(tài)顯示模塊主要是負責按照要求控制控制器面<
提交
超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機械的智能化轉型
新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會
派拓網(wǎng)絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | ??低晭砭手黝}演講
展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會